package com.rock.sys.model;

import java.util.List;

import com.eova.common.base.BaseModel;

public class TSUserOpenid extends BaseModel<TSUserOpenid> {

    private static final long serialVersionUID = 1L;
	public static final TSUserOpenid dao = new TSUserOpenid();

    /**
     * 微信
     */
    public static final String TYPE_WECHAT = "wechat";

    /**
     * 微信的 unionid
     */
    public static final String TYPE_WECHAT_UNIONID = "wechat_unionid";

    /**
     * QQ
     */
    public static final String TYPE_QQ = "qq";

    /**
     * QQ的 unionid
     */
    public static final String TYPE_QQ_UNIONID = "qq_unionid";

    /**
     * 钉钉
     */
    public static final String TYPE_DINGDING = "dingding";

    /**
     * 微博
     */
    public static final String TYPE_WEIBO = "weibo";
    /**
     * github
     */
    public static final String TYPE_GITHUB = "github";
    /**
     * 码云
     */
    public static final String TYPE_GITEE = "gitee";
    

    public List<TSUserOpenid> findListByUserId(int userId) {
        return this.find("select * from t_s_user_openid where user_id=?", userId);
    }
    
    public TSUserOpenid findByUserIdAndType(int userId, String type) {
        List<TSUserOpenid> userOpenids = findListByUserId(userId);
        if (userOpenids == null){
            return null;
        }

        for (TSUserOpenid userOpenid : userOpenids){
            if (type.equals(userOpenid.getType())){
                return userOpenid;
            }
        }

        return null;
    }
    
    /**
     * ID
     */
	public void setId(java.lang.Integer id) {
		set("id", id);
	}

    /**
     * ID
     */
	public java.lang.Integer getId() {
		return getInt("id");
	}

    /**
     * 用户ID
     */
	public void setUserId(java.lang.Long userId) {
		set("user_id", userId);
	}

    /**
     * 用户ID
     */
	public java.lang.Long getUserId() {
		return getLong("user_id");
	}

    /**
     * 三方类型
     */
	public void setType(java.lang.String type) {
		set("type", type);
	}

    /**
     * 三方类型
     */
	public java.lang.String getType() {
		return getStr("type");
	}

    /**
     * 三方openId
     */
	public void setValue(java.lang.String value) {
		set("value", value);
	}

    /**
     * 三方openId
     */
	public java.lang.String getValue() {
		return getStr("value");
	}

    /**
     * 通信token
     */
	public void setAccessToken(java.lang.String accessToken) {
		set("access_token", accessToken);
	}

    /**
     * 通信token
     */
	public java.lang.String getAccessToken() {
		return getStr("access_token");
	}

    /**
     * token失效时间
     */
	public void setExpiredTime(java.util.Date expiredTime) {
		set("expired_time", expiredTime);
	}

    /**
     * token失效时间
     */
	public java.util.Date getExpiredTime() {
		return get("expired_time");
	}

    /**
     * 昵称
     */
	public void setNickname(java.lang.String nickname) {
		set("nickname", nickname);
	}

    /**
     * 昵称
     */
	public java.lang.String getNickname() {
		return getStr("nickname");
	}

    /**
     * 头像
     */
	public void setAvatar(java.lang.String avatar) {
		set("avatar", avatar);
	}

    /**
     * 头像
     */
	public java.lang.String getAvatar() {
		return getStr("avatar");
	}

    /**
     * 扩展信息
     */
	public void setOptions(java.lang.String options) {
		set("options", options);
	}

    /**
     * 扩展信息
     */
	public java.lang.String getOptions() {
		return getStr("options");
	}

    /**
     * 所属租户
     */
	public void setTenantId(java.lang.Integer tenantId) {
		set("tenant_id", tenantId);
	}

    /**
     * 所属租户
     */
	public java.lang.Integer getTenantId() {
		return getInt("tenant_id");
	}

    /**
     * 所属部门
     */
	public void setDeptId(java.lang.Integer deptId) {
		set("dept_id", deptId);
	}

    /**
     * 所属部门
     */
	public java.lang.Integer getDeptId() {
		return getInt("dept_id");
	}

    /**
     * 创建人
     */
	public void setCreateUser(java.lang.Integer createUser) {
		set("create_user", createUser);
	}

    /**
     * 创建人
     */
	public java.lang.Integer getCreateUser() {
		return getInt("create_user");
	}

    /**
     * 创建时间
     */
	public void setCreateTime(java.util.Date createTime) {
		set("create_time", createTime);
	}

    /**
     * 创建时间
     */
	public java.util.Date getCreateTime() {
		return get("create_time");
	}

    /**
     * 修改人
     */
	public void setUpdateUser(java.lang.Integer updateUser) {
		set("update_user", updateUser);
	}

    /**
     * 修改人
     */
	public java.lang.Integer getUpdateUser() {
		return getInt("update_user");
	}

    /**
     * 修改时间
     */
	public void setUpdateTime(java.util.Date updateTime) {
		set("update_time", updateTime);
	}

    /**
     * 修改时间
     */
	public java.util.Date getUpdateTime() {
		return get("update_time");
	}

}
